package com.zfei.gfb.api.domain;

import java.util.LinkedHashSet;
import java.util.Set;

/**
 * 事件更新类型
 *
 * @author fgh
 */
public class EventUpdateType {

    /**
     * 自己删除
     */
    public static final String DELETE_BY_SELF = "DELETE_BY_SELF";

    /**
     * 上层事件作者删除
     */
    public static final String DELETE_BY_UPPER = "DELETE_BY_UPPER";

    /**
     * 管理员删除
     */
    public static final String DELETE_BY_ADMIN = "DELETE_BY_ADMIN";

    /**
     * 后台删除
     */
    public static final String DELETE_BY_BOSS = "DELETE_BY_BOSS";

    /**
     * 反垃圾平台删除
     */
    public static final String DELETE_BY_SPAM = "DELETE_BY_SPAM";

    /**
     * 系统删除
     */
    public static final String DELETE_BY_SYSTEM = "DELETE_BY_SYSTEM";

    /**
     * 自己恢复
     */
    public static final String RECOVERY_BY_SELF = "RECOVERY_BY_SELF";

    /**
     * 上层事件作者恢复
     */
    public static final String RECOVERY_BY_UPPER = "RECOVERY_BY_UPPER";

    /**
     * 管理员恢复
     */
    public static final String RECOVERY_BY_ADMIN = "RECOVERY_BY_ADMIN";

    /**
     * 后台恢复
     */
    public static final String RECOVERY_BY_BOSS = "RECOVERY_BY_BOSS";

    /**
     * 反垃圾平台恢复
     */
    public static final String RECOVERY_BY_SPAM = "RECOVERY_BY_SPAM";

    /**
     * 系统恢复
     */
    public static final String RECOVERY_BY_SYSTEM = "RECOVERY_BY_SYSTEM";

    /**
     * 管理员置顶
     */
    public static final String TOP_BY_ADMIN = "TOP_BY_ADMIN";

    /**
     * 后台置顶
     */
    public static final String TOP_BY_BOSS = "TOP_BY_BOSS";

    /**
     * 管理员加精
     */
    public static final String PIN_BY_ADMIN = "PIN_BY_ADMIN";

    /**
     * 后台加精
     */
    public static final String PIN_BY_BOSS = "PIN_BY_BOSS";

    public static final Set<String> DELETE = new LinkedHashSet<>();

    public static final Set<String> DELETE_NOTIFY = new LinkedHashSet<>();

    public static final Set<String> TOP = new LinkedHashSet<>();

    public static final Set<String> TOP_NOTIFY = new LinkedHashSet<>();

    public static final Set<String> PIN = new LinkedHashSet<>();

    public static final Set<String> PIN_NOTIFY = new LinkedHashSet<>();

    public static final Set<String> SPAM = new LinkedHashSet<>();

    static {
        DELETE.add(DELETE_BY_SELF);
        DELETE.add(DELETE_BY_UPPER);
        DELETE.add(DELETE_BY_ADMIN);
        DELETE.add(DELETE_BY_BOSS);
        DELETE.add(DELETE_BY_SPAM);
        DELETE.add(DELETE_BY_SYSTEM);

        DELETE_NOTIFY.add(DELETE_BY_UPPER);
        DELETE_NOTIFY.add(DELETE_BY_ADMIN);

        TOP.add(TOP_BY_ADMIN);
        TOP.add(TOP_BY_BOSS);

        TOP_NOTIFY.add(TOP_BY_ADMIN);
        TOP_NOTIFY.add(TOP_BY_BOSS);

        PIN.add(PIN_BY_ADMIN);
        PIN.add(PIN_BY_BOSS);

        PIN_NOTIFY.add(PIN_BY_ADMIN);
        PIN_NOTIFY.add(PIN_BY_BOSS);

        SPAM.add(DELETE_BY_SPAM);
        SPAM.add(RECOVERY_BY_SPAM);
    }
}
